//index.js
//获取应用实例
const app = getApp()
const API = require('../../API/api.js');
Page({
    getCheckOpenid: function () {
        API.checkOpenid({
            openId: wx.getStorageSync('token').openid,
            avatar: app.globalData.userInfo.avatarUrl,
            nickName: app.globalData.userInfo.nickName
        }).then((res) => {
            wx.setStorageSync('userId', res.data.userId)
            wx.setStorageSync('jwttoken', res.data.jwttoken)
            wx.setStorageSync('jwtrandomKey', res.data.jwtrandomKey)
        })
    },
    data: {
        userInfo: {},
        hasUserInfo: false,
        canIUse: wx.canIUse('button.open-type.getUserInfo'),
        imgUrl: app.globalData.imgUrl,
        isUser: true
    },
    //事件处理函数
    onLoad: function () {
        if (app.globalData.userInfo) {
            this.setData({
                userInfo: app.globalData.userInfo,
                hasUserInfo: true
            })
            this.getCheckOpenid();
            return wx.redirectTo({
                url: '../home/home',
            })
        } else if (this.data.canIUse) {
            // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
            // 所以此处加入 callback 以防止这种情况
            app.userInfoReadyCallback = res => {
                app.globalData.userInfo = res.userInfo;
                this.getCheckOpenid();
                this.setData({
                    userInfo: res.userInfo,
                    hasUserInfo: true
                })
                return wx.redirectTo({
                    url: '../home/home',
                })
            }
        } else {
            // 在没有 open-type=getUserInfo 版本的兼容处理
            wx.getUserInfo({
                success: res => {
                    app.globalData.userInfo = res.userInfo;
                    this.getCheckOpenid();
                    this.setData({
                        userInfo: res.userInfo,
                        hasUserInfo: true
                    })
                }
            })
            return wx.redirectTo({
                url: '../home/home',
            })
        }
    },
    getUserInfo: function (e) {
        console.log(e)
        app.globalData.userInfo = e.detail.userInfo
        this.setData({
            userInfo: e.detail.userInfo,
            hasUserInfo: true
        })
        if (e.detail.errMsg != 'getUserInfo:fail auth deny') {
            this.getCheckOpenid();
            return wx.redirectTo({
                url: '../home/home',
            })
        } else {
            console.log("授权失败")
        }
    }
})
